home *** CD-ROM | disk | FTP | other *** search
- #!/usr/freeware/bin/perl
- eval 'exec perl -S $0 "$@"'
- if $running_under_some_shell;
-
- # includeres: include resources in PostScript file
- #
- # Copyright (C) Angus J. C. Duggan 1991-1995
- # See file LICENSE for details.
-
- $prog = ($0 =~ s=.*/==);
-
- %extn = ("font", ".pfa", "file", ".ps", "procset", ".ps", # resource extns
- "pattern", ".pat", "form", ".frm", "encoding", ".enc");
- %type = ("%%BeginFile:", "file", "%%BeginProcSet:", "procset",
- "%%BeginFont:", "font"); # resource types
-
- sub filename { # make filename for resource in @_
- local($name);
- foreach (@_) { # sanitise name
- s/[!()\$\#*&\\\|\`\'\"\~\{\}\[\]\<\>\?]//g;
- $name .= $_;
- }
- $name =~ s@.*/@@; # drop directories
- die "Filename not found for resource ", join(" ", @_), "\n"
- if $name =~ /^$/;
- $name;
- }
-
- while (<>) {
- if (/^%%IncludeResource:/ || /^%%IncludeFont:/ || /^%%IncludeProcSet:/) {
- local($comment, @res) = split(/\s+/);
- local($type) = defined($type{$comment}) ? $type{$comment} : shift(@res);
- local($name) = &filename(@res);
- local($inc) = "/xlv1/freeware/1999.Aug/psutils/1.17-root/usr/freeware/share/psutils"; # system include directory
- if (open(RES, $name) || open(RES, "$name$extn{$type}") ||
- open(RES, "$inc/$name") || open(RES, "$inc/$name$extn{$type}")) {
- while (<RES>) {
- print $_;
- }
- close(RES);
- } else {
- print "%%IncludeResource: ", join(" ", $type, @res), "\n";
- print STDERR "Resource $name not found\n";
- }
- } else {
- print $_;
- }
- }
-
-